Business Intelligence (BI) generally refers to software tools used to improve business enterprise decision-making. These tools are commonly applied to financial, human resource, marketing, sales, service provider, customer, and supplier analyses. More specifically, these tools can include reporting and analysis tools for presenting information, content delivery infrastructure systems for delivering and managing reports and analytics, and data warehousing systems for cleansing and consolidating information from disparate sources. BI tools may work with data management systems, such as relational databases or On Line Analytic Processing (OLAP) systems used to collect, store, and manage raw data.
BI tools can facilitate user productivity by enabling a user to view and work with data in the “best” language in which the information is available. Typically, this data is in a language desired by the user, and in a country desired by the user that is associated with the language. Versions of the same language spoken in different countries may vary substantially. For example, if an online news story were available in US English and Australian English, an American user would likely prefer to read the story in US English. This example illustrates that locale-specific data (in this case, the text of the story in US English) often refers to data associated with a language and a country, and that the corresponding locale (in this case, English-US) often refers to a language and a country.
FIG. 1 illustrates operations associated with finding locale-specific data, in accordance with the prior art. Locale-specific data is typically associated with a document, where a document is broadly defined to include any electronic collection of data, or a portion of any electronic collection of data. For example, a document may refer to a paragraph of text within a novel, or a text string, in electronic form. A computer system attempts to satisfy a locale preference indicated by a target locale. The target locale can refer to a language and a country desired by a user, and may be expressly requested by the user, or, for example, may be determined by a BI system based on the location and/or nationality of the user. The computer system attempts to match a target locale to a list of locales, where the target locale typically is a language and a country (block 100). The list of locales includes all locales in which locale-specific information is available for the document. If there is a match of the target locale to a locale in the list of locales (block 102), then the system retrieves locale-specific data corresponding to the target locale (block 104). If there is no match, then the system extracts the language from the target locale (block 106). The system then attempts to match a country-neutral locale with the language of the target locale to the list of locales (block 108). An example of a country-neutral locale is country-neutral English, which is English with no associated country. Country-neutral English is typically English that is “standard” by some measure, such as the English spoken by the highest percentage of English speakers worldwide. If there is a match of the country-neutral locale with the language of the target locale to a locale in the list of locales (block 110), then the system retrieves locale-specific data corresponding to the country-neutral locale with the language of the target locale (block 112). If not, the system then applies a default locale of the system (block 114). If there is locale-specific data for the document associated with the system default locale (block 116), then the system retrieves the locale-specific data (block 118). If not, then the system indicates that no locale-specific data is available for the document (block 120).
One problem with the prior art approach of FIG. 1 is that locale-specific data that is country-neutral is assumed to exist as a fallback locale to meet the language preference indicated by the target locale. Another, more significant problem is that locale-specific data in the system default locale is assumed to exist as a grand fallback, if there is no country-neutral locale with the language of the target locale. If the system default locale is US English, then this means that a translation of any non-US English document should be provided to or generated by the system of FIG. 1. This avoids the undesirable result (block 120) of returning no locale-specific data for a document even though locale-specific data that may be a reasonable substitute does exist for the document. For example, if a British user requests a British English version of a presentation that is available only in Australian English and Singaporean English, the system of FIG. 1 attempts to use country-neutral English as a fallback locale. The system of FIG. 1 thus fails to identify English-Australia or English-Singapore as a reasonable substitute locale for the British user, and also would fail to provide the Australian English or Singaporean English version of the presentation to the British user unless the system default locale were either English-Australia or English-Singapore.
The assumptions of the existence of a country-neutral fallback locale and a grand fallback may be reasonable when, for example, standard locale-specific data, such as data in country-neutral English, is provided by the system vendor for all documents used by the system of FIG. 1. However, these assumptions typically do not extend to a more general scenario where documents and their translations are provided by customers of the system vendor or users of the system. For example, it may be unreasonable to burden a user with providing an English translation of a non-English language document just to meet these restrictions on the operation of the system of FIG. 1. Moreover, the design of the system of FIG. 1 may be complicated by the need to store copies of all documents in the system default locale and to ensure the consistency of these copies with the original documents.
In view of the foregoing problems, it would be desirable to provide improved techniques for identifying locale-specific data.